Non-volatile solid-state storage arrays in data storage devices (e.g., solid state drives), typically comprise multiple storage elements (e.g., dies), where each storage element comprises multiple data blocks, and each data block comprises multiple pages for storing user data. An error correction code, such as a Reed-Solomon (R-S) code, may be used to protect the user data stored in the pages from loss due to uncorrectable errors by providing R-S parity pages. A commonly used R-S code uses a codeword comprising 8-bit symbols, where the number of symbols in the codeword is equal to 2N−1 (e.g., 255).
In a non-volatile solid-state storage array, an R-S code may be used to provide page-level error protection for a group of pages, where the number of pages in the group (including data pages and R-S parity pages) is limited by the number of symbols in the R-S codeword. By using an R-S code comprising an 8-bit symbol R-S codeword, for example, page-level error protection may be provided for a total of 255 pages including data pages and at least one R-S parity page.